/**
 * 业户查岗js
 */
var iFrameName = this.name;
$(function(){
	entModel.init();
	window.parent.global.ajaxLoading.close(1000);
});

var entModel = {
	init: function(){
		// 区域查询条件下拉
		entModel.initEntCheck();
		// 查询条件默认显示当天
		var inputStartDate = entModel.systemDate();
		var inputEndDate = entModel.systemDate();
		$("#inputStartDate").val(inputStartDate);
		$("#inputEndDate").val(inputEndDate);
		// 初始化按钮事件
		entModel.initEvent();
		// 默认查询列表
		this.initEntCheckList();
	},
	
	// 业户查询条件下拉
	initEntCheck:function(){
		var url = appCtx + "/system/common/selectEnterprise.html";
		$.post(url, function(data) {
			$.each(data, function(i, item) {
				if ("${check_unit_id}" == item.id) {
					$("select[id='check_unit_id']").append(
							"<option data-id='" + item.id + "' data-name='"
									+ item.name + "' value='" + item.id + "'>"
									+ item.name + "</option>");
				} else {
					$("select[id='check_unit_id']").append(
							"<option data-id='" + item.id + "' data-name='"
									+ item.name + "' value='" + item.id + "'>"
									+ item.name + "</option>");
				}
			});
			// 业户全选  multiple-select.js
			$('#check_unit_id').multipleSelect({
				filter:true,
				placeholder: '请选择业户'
			});
			
		}, "json");
	},
	
	// 查询条件默认显示当天时间->格式 2017-09-01(年月日)
	systemDate:function(){
		var now = new Date();
		var systemDate = now.getFullYear() + "-"
				+ ((now.getMonth() + 1) < 10 ? "0" : "") + (now.getMonth() + 1)
				+ "-" + (now.getDate() < 10 ? "0" : "") + now.getDate();
		return systemDate;
	},
	// 刷新方法
	entModelReload:function(){
		// 清空区域下拉
		$('#check_unit_id').empty();
		entModel.initEntCheck();
		entModel.queryEntChecks();
	},
	// 初始化按钮事件
	initEvent:function(){
		// 查询
		$("#queryBtn").click(function(){
			entModel.queryEntChecks();
		});
		// 查岗策略设置
		$("#addEntStrategyButton").click(function(){
			var url = appCtx + "system/entCheck/initStrategys.html";
			window.parent.doDataDialog("insert", "增加查岗策略",iFrameName, "saveStrategy()","entModel.entModelReload()", url);
		});
		// 导出界面弹出
		$("#exportSimCard").click(function(){
			 var options = $("#tbEntChecks").getOptions();
		     var total = options.total;
		     if (total == 0) {
		    	 window.parent.ajaxLoading("无导出数据", false, 2000);
		         return;
		     }
		     var pages = options.pages;
		     //设置默认的开始结束页
		     $("#StartPageIndex").val(1);
		     $("#EndPageIndex").val(pages);
		     //显示导出窗口
		     $("#exportModal").modal('show');
		});
		// 真正导出
		$("#exportComfirm").click(function(){
			 var me = this;
			    var options = $("#tbEntChecks").getOptions();
			    //总记录数
			    var total = options.total;
			    //开始页数
			    var StartPage = $("#StartPageIndex").val();
			    //结束页数
			    var EndPage = $("#EndPageIndex").val();
			    var validate = true;
			    var msg = "";
			    if (!StartPage || StartPage == 0) {
			        msg += "【起始页不能为空或者0】";
			        validate = false;
			    }
			    if (!EndPage || EndPage == 0) {
			        msg += "【结束页不能为空或者0】";
			        validate = false;
			    }

			    if (StartPage && EndPage && EndPage < StartPage) {
			        msg += "【结束页要大于起始页】";
			        validate = false;
			    }
			    if (!validate) {
			        global.ajaxLoading.pop(msg, false, 2000);
			        return;
			    }
			    $('#exportModal').modal('hide');
			    global.ajaxLoading.pop("正在导出,请稍后.....", true, 2000);
			    //每页大小
			    var pagesize = options.rp;
			    //获取导出的参数
			    var exportParams = options.exportParams;
			    if ((EndPage - StartPage + 1) * pagesize > 60000 && total > 60000) {
			        alert("最多只能导出60000条数据");
			        return
			    }
			    	
			    var header = JSON.stringify(entModel.getColumn());	// 列表表头
			    var paramsJson = JSON.stringify(entModel.getParam());// 查询条件
			    var colModelList = new Array();//表头
			    colModelList.push(header);
			    var colModel = $.toJSON(colModelList);
			    var paramsGrid = {
			        queryParams:paramsJson,
			        colModel: colModel,
			        title: "业户查岗记录",
			        StartPage: StartPage,
			        EndPage: EndPage,
			        PageSize: pagesize,
			        sortorder : "desc" //第一次加载数据时排序类型
			    };
			    
			    var url = appCtx + "system/entCheck/exportEntChecks.html";
			    post(url, paramsGrid);
		});
	},
	
	// 区域查岗列表查询方法
	queryEntChecks:function(){
		$("#tbEntChecks").flexOptions({
			url :  appCtx + "system/entCheck/loadAllEntChecks.html",
			newp : 1,// 设置起始页
			params : entModel.getParam()
		// 设置查询参数
		}).flexReload();// 重新加载
	},
	
	// 查询条件参数封装
	getParam:function(){
		// 业户查岗下拉数组 
		var checkUnitId = [];
		$("#check_unit_id").find("option:selected").each(function() {
			checkUnitId.push($(this).attr("data-id"));
		});
		
		if(checkUnitId.length===0){
			checkUnitId="";
		}
		
		var startTime=$("#inputStartDate").val();
	   	var endTime=$("#inputEndDate").val();
	   	var params = [ {
			name : 'checkUnitId',
			value : checkUnitId.toString()
		},{
			name : 'startTime',
			value : startTime
		},{
			name : 'endTime',
			value : endTime
		}];
		return params;
	},
	// 
	initEntCheckList:function(){
		$("#tbEntChecks").flexigrid( {
			url :  appCtx + "system/entCheck/loadAllEntChecks.html",
			dataType : 'json',
			colModel : entModel.getColumn(),
			resizable: false,
			sortname : "ID",//第一次加载数据时排序列
			sortorder : "desc",//第一次加载数据时排序类型
			params : this.getParam(),
			usepager : true,//是否分页，默认为true。
			showToggleBtn: false, 
			showTableToggleBtn : true,//是否显示收起/打开按钮,默认不显示。
			useRp : true,//是否可以动态设置每页显示的结果数，默认为false。
			rp : 10,//每页记录数，默认为10
			checkbox : false,//是否要多选框,默认为false。
			rowId : 'ID',// 多选框绑定行的id,只有checkbox : true时才有效。
			singleSelect:false,
			height : nav.whiceH[1]- 51, //表格高度
		});
	},
	// 列表显示字段
	getColumn:function(){
		return [{
			display : '业户',			//表头
			name : 'check_unit_name', //序号列为固定值fid
			width : 250,			// 得加上，要不IE报错
			sortable:true,			// 序号列不能排序
			align : 'left'			//对齐方式
		}, {
			display : '查岗时间',
			name : 'check_time',
			width : 130,
			sortable : true,
			align : 'left',
			handlefunction : 'formatDate',
			paramcolnames : ['check_time']
		}, {
			display : '查岗内容',
			name : 'check_content',
			width : 120,
			sortable : true,
			align : 'left'
		}, {
			display : '答案',
			name : 'answer',
			width : 120,
			sortable : true,
			align : 'left'
		}, {
			display : '回复时间',
			name : 'reply_time',
			width : 130,
			sortable : true,
			align : 'left',
			handlefunction : 'formatDate',
			paramcolnames : ['reply_time']
		}, {
			display : '回复内容',
			name : 'reply_content',
			width : 120,
			sortable : true,
			align : 'left'
		}, {
			display : '查岗类型',
			name : 'check_type',
			width : 90,
			sortable : true,
			align : 'left',
			handlefunction : 'getCheckType',	// 查岗方式  1:手动  2:自动
			paramcolnames : ['check_type']
		}, {
			display : '应答结果',
			name : 'check_result',
			width : 90,
			sortable : true,
			align : 'left',
			handlefunction : 'getCheckResult',	// 查岗结果 1:正确 2:错误 3:超时 4:未应答  ---多条时，以正确答案为准 
			paramcolnames : ['check_result']
		}];
	}
};


//mongodb时间戳转日期 格式为 yyyy-MM-dd h:m:s
function formatDate(time){
	if(time.length == 0){
		return "";
	}else{
		var now=new Date(parseInt(time)); 
		var year=now.getFullYear(); 
		var month=((now.getMonth() + 1) < 10 ? "0" : "") + (now.getMonth() + 1);
		var date=(now.getDate() < 10 ? "0" : "") + now.getDate(); 
		var hour=(now.getHours() < 10 ? "0" : "") + now.getHours(); 
		var minute=(now.getMinutes() < 10 ? "0" : "") + now.getMinutes(); 
		var second=(now.getSeconds() < 10 ? "0" : "") + now.getSeconds(); 
		return year+"-"+month+"-"+date+" "+hour+":"+minute+":"+second;   
	}
}

// 查岗方式  1:手动  2:自动
function getCheckType(check_type){
	if(check_type == "1"){
		return "手动";
	}
	else{
		return "自动";
	}
}
// 查岗结果 1:正确 2:错误 3:超时 4:未应答  显示汉字
function getCheckResult(check_result){
	if(check_result == "1"){
		return "正确";
	}
	else if(check_result == "2"){
		return "错误";
	}
	else if(check_result == "3"){
		return "超时";
	}
	else{
		return "未应答";
	}
}

